package Library;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;


public class MyLibraryDaoImpl implements MyLibraryDao {
	private ArrayList<Book> libraryList;// 自己的图书馆

	public MyLibraryDaoImpl() {
		libraryList = new ArrayList<>();
	}

	/**
	 * 展示自己的图书馆情况
	 */
	public void showAll() {
		for (Book item : libraryList) {
			System.out.println(item);
		}
	}

	/**
	 * 借书，即将书加入自己的图书馆
	 * @param e
	 * @return 
	 */
	public boolean borrowBook(Book e) {
		Date date = new Date();//取当前时间
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//转换时间的格式  
		if (e == null) {
			return false;
		}
		e.setState("已于"+formatter.format(date)+"被借阅");

		libraryList.add(e);
		
		return true;
	}
	
	/**
	 * 还书，即将书从自己的图书馆中归还
	 * @param e
	 * @return
	 */
	public boolean returnBook(Book e) {
		
		if (e.getId() == null)
			return false;
		int index = findById(e.getId());
		if (index == -1) {// 未找到
			return false;
		} else {
			e.setState("可借阅");
			libraryList.remove(index);
		}

		return true;
	}

	/**
	 * 根据id找书
	 * @param id
	 * @return
	 */
	private int findById(int id) {
		
		for (int i = 0; i < libraryList.size(); i++) {
			if (libraryList.get(i).getId().equals(id))
				return i;
		}
		return -1;
	}



}
